#! /usr/bin/env python
# -*- mode: Python; tab-width: 4; indent-tabs-mode: nil; fill-column: 79; coding: iso-latin-1-unix -*-
#

import cStringIO

from wxPython.wx import wxArtProvider_GetBitmap
from wxPython.wx import wxBitmapFromImage, wxImageFromStream
from wxPython.wx import wxArtProvider
from wxPython.wx import wxART_NEW_DIR, wxART_GO_BACK, wxART_GO_FORWARD, wxART_GO_HOME, \
     wxART_GO_UP, wxART_FOLDER, wxART_NORMAL_FILE

class smArtProvider(wxArtProvider):
    NEW_DIR = wxART_NEW_DIR
    FOLDER = wxART_FOLDER
    NORMAL_FILE = wxART_NORMAL_FILE
    GO_BACK = wxART_GO_BACK
    GO_FORWARD = wxART_GO_FORWARD
    GO_HOME = wxART_GO_HOME
    GO_UP = wxART_GO_UP
    TRASH = "smDelete"
    REFRESH = "smRefresh"
    COPY = "smCopy"
    CUT = "smCut"
    PASTE = "smPaste"
    LINK = "smLink"
    FOLDER_LINK = "smFolderLink"
    SM = "smSM"

    def __init__(self):
        wxArtProvider.__init__(self)
        self.bitmaps = {}

    def GetBitmap(self, artid, client, size):
        bmp = self.getsmBitmap(artid, client, size)
        if not bmp or not bmp.Ok():
            bmp = wxArtProvider_GetBitmap(artid, client, size)
        return bmp

    def getsmBitmap(self, artid, client, size):
        global ImageData

        imageData = ImageData
        if not self.bitmaps.has_key(artid):
            if not imageData.has_key(artid): return None

            stream = cStringIO.StringIO(ImageData[artid])
            img = wxImageFromStream(stream)
            self.bitmaps[artid] = wxBitmapFromImage(img)
            stream.close()

        return self.bitmaps[artid]

TheArtProvider = smArtProvider()
TAP = TheArtProvider # local name alias

ImageData24 = {
    TAP.CUT:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x18\x08\x06\x00\x00\x00\xe0w=\xf8\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\tpHYs\x00\x00\x0b\x12\x00\x00\x0b\x12\x01\xd2\xdd~\xfc\x00\x00\x00\x07tIME\x07\xd2\x02\x01\x072%\xf2e\xb52\x00\x00\x02\x9cIDATx\xda\xcd\x95OHTQ\x14\xc6\x7f3c\x96\xe6"m\xb4\x82$\xc5\xc8\xccV\x12R\xb4\x8a\xa8Q\x18T(\xa4\x8d\x10\xd1N\xd4P\xc36*\x15D\xa5A\x11\x04e\x8b\x96\x95\x8b(\x18\x08\xa3\xa26cPY\xd2"\xa2\xach\xb2\x18\xd3\xd1\xd1i\xd2\xe9\xcdis\x9e\xbc\x867\x7f\xb4M\x17\x1e\xf7\xddw\xbf{\xbf\xef\x9c\xf3\xdd\xfb\xe0?h\x8e\x7f\xc18S,\x12\xc0\x05\xac\xd0\xde\xb1\x1cL2\x82\x16\xed\x0f\x02\xab\x81\x956\x8b\xeb\xb5?\xa6\x98Ui\x04\xff\xad\xec\x99\xff\xa9\xa8\xc2b`-\x90\x9d@"\xe3\x81OV\x8c\xdbNHR\xc6-\xe5\x95\xd4\xd6\xee\x07\xf0\x02\xb9\t\x04\xf5\x1d\xed\xadVx\x8eF\xe0\xca8\x82\xe9\xa9I\xe9\xed>n*\xdc\xac\nM\x12\t\xcf\x84dtd\xd8\x9c\xaf\x00J\x80\xbcD\xd1\xc9"\xb8\x17\x9d\x8f\xb2{g5\x8d\x8d\x07\x00<\xaa2\x1bh\xe8ho%\x16[`\xf4\xf5\x08\xc05]\x13W2\xc9$\x82\x86\x93\xbd=\x12\xb2\x8fbQ}\x9d\xb7F\xd4\x10\xe5\xc0zM\x93#S\xef\xcb\xcf\xc8\x9c\x0c\xf9\x06\xc5\xb3o\x8f\x00\xcd\xc0\xd1:o\x8d\x84\xa6~\xc8\x90o\xd0$\xae\x04\xca\x80\x02\xb5\xab#\xd3:4\xf4\xf7\x9d\x97\xd9\xf0\xb4tu\xb6\x08 UUU21\x11\x94\xd1\x91a9\xdct\xc8T_\xa1.\xca[\x8aM\x17\xa3\x88\xcc\xcd\xca\xcb\xe7~\xa9\xae\xde!m\xad-\xf2\xe8\xe1\x83D\xf5\x89\x06XRs\x02\x12\xfc\x16\x90\xfb\xbe\xbb\xe2\xf1x\xac\x9bo\x07\xb6\x02\x1b\x97\xa3\xde\x1aE\x16 \xef\xde\xbe\x91\x81\xabW\xcc\xcd/\x00\xdb\x80R ?U\xee]\x19\x10t\x02\xc5\xb7n\x0f\x16\x14\xba\x0b\xe3Y.\xa7\xf1%\xf0\xd5\r\xdc\x04\xa2@\x04\x88)q\xc6):\x03L\xeb\xf3\x04\x98\x04\xc6\x81W\xc0w\xfd\xfe\x19\x08\x033@\x9f\xe5\xb4\xa7MU\x97\xaa\xe9\x01N\xe9{\x10h\xd3\x82\xf6+\x99\x00\x1d\xc0Y}?\xadV\xcdIG\xf2^\x15\xe5\xeb\xe1\xb9\xac\x04\x9b\xf4:(\x02\xc6\x80;Z\x83\x12\xe0:\xf0\x11\xd8\xa0\xeb\x16\x1de\xc7T\x06\xdc\xd0\xe2\x1a\xc0\x00P\x08\xfc\x02\x16\xb4/\x05\x1e\xebx\x1e\xf0+\x91a\xf97$\xbd\x8b>\x00GT\x81\x014\xa9\xe2\x98\x8e\r\xc5\xec\xd5\xfb\xc7PQc:vX\x8bm\xe7\xa2\\\xa0[\xd5\xed\x02N\x00\x17\x81\x17:?\xaf)h\x06\xd6(\xbe\xcf\x06\xf3;\x955\xcf\xa9;f\x80K\xc0:\xad\x875\xbf&&\xac\x98"\x1bLR\xdf:\xf5\xef\x94\xa39ES\x14Uuq\x1b\x8c\xa8j+&\xe5\xc1pj\xa1\xcd4\x1a\xbaA|)\x98?K\xd7\xfb\xc6\x06F\xab5\x00\x00\x00\x00IEND\xaeB`\x82'
    }

ImageData = {
    TAP.COPY:
    '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\tpHYs\x00\x00\x0b\x12\x00\x00\x0b\x12\x01\xd2\xdd~\xfc\x00\x00\x00\x07tIME\x07\xd2\x02\x01\x0b(\x19d=\xca\n\x00\x00\x00\xd2IDATx\xda\xb5\x92=\x8a\x84@\x10\x85\xbf^7\xf7b\x06\x82F\x8a\xa1\x88f{\x84\x89\x8c\xf5\x08^\xc0\xc0\xbb\xb4\x07\xd0\xc4S\xbcI\xd6a\x18\xed\x9e\x9fe\x1f\x14\x14t\xf1\xaa\xfa\xab\x02\xb8\x00z\x12\x17<\xd24Mr\xc9Z\xbb\x9b\x9c\xca\x00\x92\xe4k\x801f\xaf=\xe8{O\xca\xb2d\xdb6\x82 `\x1cG\x9a\xa6!\x0cC\xda\xb6\xf5\x9b\xffu\x02~\r\x14\xc7\xb1\xa2(\xba\xe5\xef\x80=\x80{\x17\xac\x96eQ\x96eJ\x92D]\xd7\xe9\xcc\xf4\xac\x89\x93\x811\x06I^\xb0\xf7\\d\xad=\xb8\xbf:\x01\xaeK|\x04;\x0c\x83\xea\xba\xbe\xb1\xb9\xff\x82k3/\xad\xf6\xcbU\xb0\xae+y\x9e\x93\xa6)}\xdf\x03P\x14\x05UU\x1d\x0e\xe9\x7f&\x98\xe7\x99O\xde\xbc`\x1f\xe2\x07\xe0\nj\xfd/\xea~\xbc\x8f9\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.CUT:
    '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\x06bKGD\x00\x83\x00\xa6\x00\x7f\x12J<B\x00\x00\x00\tpHYs\x00\x00\x0b\x11\x00\x00\x0b\x11\x01\x7fd_\x91\x00\x00\x00\x07tIME\x07\xd2\x02\x01\x08\x01\x15+\x8b\xa7\x93\x00\x00\x01mIDATx\xda\xa5\x93\xbdK\xc3P\x14\xc5\x7f\x11\xb1K\xc76\xc4J\x04w\xa7\xf6/P\xe7\xd2Qj\x8b\x8b\xbbP\xff\x04\x11\xac\x08N\xe2 tPA\x17AM;(~\xe1\x07\x08\xa2\xa2N-T\x04\x9fJ\x08u\xaa6\xda%.\xa9$ib\x05\xdf\xf2\x1e\xe7\xdcw\xde\xbd\xe7\xdd+\x19\xba\xe0?\xab\xcb\x0b\xc8\x8aj\xf9\x05\x06\xe1]\x9e\xa0\xa4\xbd\x13 \x92\xec\x94\x81V)\xdf\x03X\xde\xd7\xefn\xce\x004\xafx[\t\xa1\x9e\x10~Y\x98\x8d\x8f?y\xb0[\xab\xbdqvz\xf0\x93\x85\xac\xa8\xd6\x8bx\xa0\\\xa9\x02\xect\x12X\x9a\x9e\xc9\x13\x8dD]Y\x88\xa7*\xa5\xd2\x1e@\xe1W\x01C\x17EM\xd3\x08\x87\xc3\x14\x96\x17\x01\xac\xdb\xab\x13\xcc\xc6\'\x9b[E2\xe9\xd1\xa2W\xa0\xdb\x0b\x18\xba\x90dE\xb5.\xce\xf7\x01h~5\x19\xcdL\xbc\x8a\xa7\xc7>\xb5\x7f\x00o\xdfH~\x8d$+j\x16\xc8\xc9\xb2\x1c7\xcd\xc6s\xbd\xfe>\x1b\x8b\xf5.\xdd\xde\\\xb6\xbbh\xe8\xa2\xa5\x9a\xb4\x8d\xb3\x80k`\xc5\x0eY\x00\xb6\x1d\\\xb6u\xc7\xd0\x85\xcb\x03-\x91\x88\xa7\xa6r\x93\x83@\x1c\xd8\xb4\xf1c \xe5\xe0\xd6|K\x90\x15\xd52t\xa1\xd8g\x1d\x90\x1cq.\xce\xd0\x85\xe4kb~n>\x1244\x81\x9c\xc3\x83\xac\xa3No\xcf\xbb8\xa7\x07\xae_8<:&=6\x0e\xc0\xc6\xfa*#\xc3C\x1d\xc7\xf9\x1b\xbd4\xa5\xa6\xaa\xc9C\xbd\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.FOLDER_LINK:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\xf0IDATx\xda\xa5\x93\xbdm\xc40\x0c\x85?\x197\x00\xafLw\xedMa\x8f\x90Q\xb4\x815\x82\xba\xb47\x82G\xa0\xa7Iin\xc0\x149\xd9\xd2\xc1\xf9\x81M@x D=\xfe<1\x88\x08g\xecR;1F\x7f\r\xc89\x87_\x19D\x04\x11!\xa5\xe4\xee\xb8\xaa6\x98Rr\x11\xe1v\xbb\xaf\xb1\xf5\xb9\x94\xcc\xe3\x98\x98g\xa5\xef\x87\x06\xc7q\x00\x92\xef%\xcf9\x87\xb5\x85\xebU\x02\xbc\x03B\x8d"w\xcc2"o\x98}bf\x88\x081F73\xefj\xc6e1\x9f\xa6\xc9k|<>\x1aTU_\x16\xf3\xdd!\xee\xb50\x0c\xc3\xf3vCU\x05\x14\x80\xa6\x82\xd7\xc7}\xff\x1d\xec\xce\xf3\xd1\x16W\xac\xfb\xab\x82\xba\x92B2\xcf\xda\xcaX\xa4\xda\x93QU\x1d6\x1fX\xe5\x05\xbc\xfb\xcf\x0cT7\xffP\x05?}0\xc0C\xd1\xf4\xc8\x1e\xa4\x94\x08e\x99\xcc\xec\x10I8\xbb\x8d\x1d\'\xed\x0b\xeb\xf1\xf1\x99\x90\xdf\x8f\x15\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.LINK:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\tpHYs\x00\x00\x0b\x12\x00\x00\x0b\x12\x01\xd2\xdd~\xfc\x00\x00\x00\x07tIME\x07\xd4\x01\x13\x11\r#0\x9a\xe3 \x00\x00\x00\x9eIDATx\x01\xa5S\x01\n\x840\x0c\x9b\x87\xcf\xd6;t\xfe\xbb.\xe32\xa2\xb4\xb8a@ZY\x92\xb6\xa3K\xe9%&\xd1\x9b\xe4=i\xd5~\xfeL\xcb[Nf\xd6\xfd\x15]-8G\xa5\x8e\xfd\x88\x8e\xd2\xf2]\xda\x99k\x00\xf1\xfa[\x1bI\x13t\xaap\r\xb4\x02\xc9\x91!\xef\x80\xbc\x16aB#\x88\xef\x95I\x0c\r@\xe0(\x91\x18\x9c\xd0@\xc5\xec\x04\x82;\\\x83^1\xcc\xdcK\xc4\x01\xda\xd6\xca\xcc\x19\xc1Q`\x91\xca\x1e\xf5\xa3\x88\xeb"\xb9#\xa8\xf3S~\x19\x01\xb3\x8f\x82\x8fi\xf4!\xb1\x0e\xf5\xfc\x1f\x8f\'\x98\x9f\x7fA\xc7C~P\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.NEW_DIR:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x01\x08IDATx\x01\xa5\x92\xc1\r\xc20\x0cE]\xc4\x00\xe1\xc8\r\x8e\x9d\x82\x8e\xc0(\x1d\xa1#\xf4\xc6\x95\x11:B;\rG\xb2\x81\xc9\xab\xe4\xc8\x81\xa8\xaaD\xa4\xe8\xc7\xf6\xb7\xfd\x9d\xa4\t!\xc8?\xeb\xe8\x93\xfb\xbeWos\x1e\xc7\xb1\xf9\xf6\x156\n\xd8\xc30\xa8\xaa\xe8<\xcf\x05\xe2\'~\xb9\xb4+\x1a\xdfp3\x99$\x8aR\x843\xe8\xcf\x14\xc9#\x9cN!I\xbd\'u\xdc\x89\xe1K\xae\xd7Vc\x1c\x9b\x10\xce\xca81F\x940V\xf2G=\xf8y\xde\xef\xa8\xd34\xa9\xc7\xe7\xf3!\x10\xe1\x81iD!\x9e\xf3\x90\x81,\xd0\xcf\x8fd\xbfSBa\x13\xc3\x97\xef\x80\x02\xb5K\xa4\xe8J\x84\x9c\xb65\xa1)v1\xc2\xb2\xccr\xbbu\xe2\xb1\xeb:\x94\xf1\n+b\x13\xcf\xcb\x8f\xf0\xad\x80\x0e\xd6\x11\xc9\x16\xc7\xbfK\x01\x9dM\x11\x1dM\x19\xfe\xbc\xb6\x14X\xc7\x1a\x9a\x82\xf4\xbeAj_8w\xd88\xa4"\xb2\x16\x80co\xbd\xc1\xaf\x86r\x81jt\x87\xb3x\xc6\x1d\xfc\x1f\xca\x07\x1eg"]\xde)\xe9+\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.PASTE:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\tpHYs\x00\x00\x0b\x11\x00\x00\x0b\x11\x01\x7fd_\x91\x00\x00\x00\x07tIME\x07\xd2\x02\x06\x13."\x0c\x8eN\xd9\x00\x00\x01\xb0IDATx\xda\x95\x93\xbfK[Q\x14\xc7?/>\x91\n\x8f@A^LSG!\x102\xe4?\xa8\xa6\x0f\x1d,f\x88\xba\xf8\x06)H\xe6v2\r\x88K1C\xa6n\x0e\xdd$\x10\x12\xd01\x8bC\xa6B\xfb\x04\t\x16\nU4\x1a\x1e\x8d\x04\x956/?$\xb7\x83}\xf9Q_\x9b\xf8\x853\x9c{\xef9|\xee\xf7\x9e+\xe1\xac\xef\x80\x0bp\x03O\x19\xa0e@\xf4F*\x95\x12\xa5RI\xc4b1\xf1\xf7\xde\x9f\xf3\x1dI\x80\xb8\xb9>\xa3\xd5\xf8\x89\xe4\x1a\xe1\xc5L\x84\xc5\xc5\x05NO\xcf\xa9Y\x16\x86q\xc8\xca\xd2+\xa6\x9e?\xe3\xd7\xed%o7>\xd8u\x00\xc8\x00M\xeb\x96\xe3/\xfb\xbcI|$\x11\xdf \x1c\x9e\x01\xe0\xe0\xa0\xc0\xa4\xaa\x92\xcd\xe6\x88\xad\xcdS\xbd\xaa>\xc0\x97\x01$\x97\x0b\x80\xd7\xab/I&\xdf\x13\x8f\xbfc||\x8cZ\xad\x81\xa2<an6\x84:\xe1\xa6\xf2\xe3a\x03\t\x10\x15\xb3\xc8\xf1\xe7=\x00T_\x90\xcd\xad$\xe9\\\x81!\xb4"\x03\xb4\xdbm\x00\xbe~\xbb\x00 \x9d+ \x84\x18X-IRZ\xee]\xf0O\xfbP}\xc1N\x9e\xcf\xe71M\x13\x8f\xc7\x83\xa6id2\x19,\xcb"\x14\n\x11\x08\x04\xba\x1e\xdc\xbfN\x97\xc0\x96\xa6i}y4\x1au6\xd1n\xf0?\x02\xaf\xd7K\xb9\\\xc64Mt]\xefo`_\xf7\xfc\xa2\x02\x1c\xfd\x93\xc0\xc6v \xb8\xd7\x94o\xc2\x91\x00\xe8\xf3\xc1\xef\xf7\xf7{0::6\x14\x81\x93\x0f2\xc0]\xcb\xea\x10\xf4\xaaX,b\x18\x06\x00\xba\xaew^AQ\x14"\x91Hw\x90\xb6\xb7\xd6\xa9\x98\'X\xf5:\xcdz\x93\x9d\xddO\xc3\xce\x81\xf3o|D,\xff\x06\x8a\x0b\xbe.\x19\xce\xf13\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.REFRESH:
    '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x01\x0cIDATx\xda\xa5\x92\xb1J\x03A\x14E\x8f!\xfe\x82\x16\xf9\x00aR\xc4\xc6^\x10\xac\xf3\x0fa\x1b?\xc0\xca\x9f\xb0SV4\x85\x85\x9d\x06\xb4\x8c\x956\x16\xd1\x80\x99r!"+\xd9B\x10a\x0b5>\x9b\x99e2\xec\x84\x8d\xb9\xcd\x0c\x97w\x0f\xf3\xe6=(\x97bI\xc9\x7f \x1b&(\x17\x97]\xa9\nYq\x9e<JR\xcd{\xfe\xc2G>a\xfa\xfb\xc3\xeef\x07`\x1d\xc8B\x80\xba9Gg\xe7G\xf4\x07\xc7\x8c\xdf\x86\x00\xe4\x9f_\xb6f\xb5R\xcf\xbd\xbbCiGJ\x00\xd9\xdai\xd8\x16Z\x95?\xed\xe4z\xdf\x86\x08\x84#\xe3\xaf\xb9f\xcd^\x1e\xef\xc7\xae\xdf\x04\x86\x1e 6\xe7\xc4\x87`\x0c\xf7\x05\xa1\xbd\x90$\xd5\xc1:\x0b\x89<\xbf\xe5\xb6v\x10o\xcf\x00jNaf\xc6\x1a{\xe1\xa7$\xd5\x00\xd2\x8eTp\x0f\xca\xd4\x00^\x93Tsz\xb3W\x98\xcf\x0f\x19W\xb1.\xb2\xf59\x80o\x80\xdbA\xb7\x08\x026\xdc\xac:^\xe5\x8dX\xcc\xca/$5g:\x0bAJ\xf5\x07\xccheA\x0f[Y\x89\x00\x00\x00\x00IEND\xaeB`\x82',
    TAP.GO_HOME:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\tpHYs\x00\x00\x0b\x11\x00\x00\x0b\x11\x01\x7fd_\x91\x00\x00\x00\x07tIME\x07\xd2\x01\x03\x0c\x11+J\x88\xb2\xee\x00\x00\x01\xddIDATx\xda\xad\x93O\x8bRQ\x18\xc6\x7fW\xd3\xc2\x1b\x81\x83^\xbaN\x13\x17\x8c6\xee\xee\xeeJ\xc10\xa0\xe0-$$,\x10D\x04\x17\xf9=\x84V~\x00\xfd\x049\xd0\xaef1\x10-Z\x1a-\x82\xa0\x7f\\\x8bq\x0c\xe7\x82\x9a\xa8s\xd3<mT\xc6?H\x8by\xe1,\xce\xc3\xfb>\xbc\xcf\xf3\x9c\x03\x97\\?\x00\x01\xfc\x9a\xdd\xc5\xec\xfcw\x89\x17O\x13\xf3!Q(\x14D&\x93\xd9Jre\x15x\x7fz\n@.\x97C\xd7uR\xa9\x14\xb2,S\xa9T\x04 \xad\xf6\xbbV\x81\xea\xc7\x9f\x18\x86A$\x12A\xd7u\x00\xb2\xd9,\xd5j\x95M\x9b\xac\x11\x18\x86A>\x9f\'\x9b\xcd2\x1e\x8f\x01\xf0x<$\x93IJ\xa5\xd2\x1a\xc9E\t\xc24M\x8a\xc5"\xc1`p1x\xb1\x12\x89\x04\x8a\xa2P(\x14\x16r\xe6\x9a\x84\xaa\xaa\xb4Z-\xda\xed6\x8dF\x03M\xd3h6\x9b\xa8\xaaJ<\x1e\xc7\xef\xf73\x18\x0c\xa8\xd7\xeb\x04\x02\x01l\xdbf\xc9\x93Z\xad\x06 ,\xcb\x12\x8f\xc2!\xf1\xe4\xee\x9e\xb8\xbf\x1b\x10\x9dNG\x18\x86!\x84\x10B\xd7u\x01\x88Y\xef\xb2\x07\xe9t\x1a\x00I\x92p\xbb$\x92\xe1\x10\x8a\xef*\xd3\xe9\x94\xc1`@4\x1ae2\x99,\xf5n\x8cQ\x88e\xa3G\xa3\x11\xe5r\x19M\xd3\xb0,\x8bX,\xb6=\x05\xb7\xdb\xbdF\xe08\x0e\xc3\xe1p\x91\xcaV\x02\xc7q\xb8\xe1\xf5\xf0\xf2\xdb\t\xdd\xf3?\xf4z=\xbc^/\x92$m|\x89s\xd4<0\xf7_\x01(\xa1 n\x97\x8b\xb3N\x9bn\xb7C\xcf\xfe\xcd\xc9\xf7\x16\x0f\x1e\'\xe8\xf7\xfb\xd8g6\xd3\xbfS\x94\x9b\nG\x87\xc7\x92\x1b\xe0\xc0\xdc\xff\xf2\xe6\xf5\xdb\xe7\xd6\xd7\xc6\xbb\xbd\xf0\xee\xbd\xd1\xf9\x08\x17.|\xd7d\xfc;;|\xfa\xf0\xf9\xd9\xed;\xb7\x1e\x02\xf8d\x1f\xf2u\x99\xa3\xc3c\xe9R\xbe\xef?_\xa1\xb7\xd7\xd1{16\x00\x00\x00\x00IEND\xaeB`\x82',

    TAP.SM:
    '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00aIDATx\xda\xed\x90;\x0e\x800\x0cC_-\x0e\x9c\xa3\xf8\xc6e\xab\xa0@\x1a11\xe0%Q>\xcfQ\xe0W\xa6>\xc5\xdb\x19-\x96I \x1d@\t\xbd%\x90\x91\xab\xe0\x8e\xedc\xaf\x1fkzXn\t\xe4\x94\xabp:\x00\x11\xd1lc\x9b\x88\x183\xdb\xe2Q\x17\xc8\\S\xc5=\x93\xaa\xee+\xc0+\xf7oh\x07\xbb\xb5\x1c\x1f\xe4\xa4?t\x00\x00\x00\x00IEND\xaeB`\x82',

    TAP.TRASH:
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x02\xbfIDATx\xdam\x93OOSY\x1c\x86\x9f\xdb{\xef\xe1R\xfa\xc7;P\xa8E\xc1\x7fl\x80\x10\xc7`b\xd4\xa1\xc6\x107\xbaP\xc7d\x921\xee4n\xdc\x98\xcc\x07\x18c\\\xcdz\xbe\x00\x19WJB&3$\x1a#\xa0Q\'\xd1` 4\xb1b)\xadT\x81iKio\x8b\xdc\xdb\xdb\xe3\xc6V\x14\xde\xcd\xef$\xe7\xf7>\xc9{\xf2\x1e\x85-\x12B\x98\xc0q\xc30\xfe\x19\x1c\x1c\xc40\x0c,\xcb"\x9f\xcf377\x87\x10"\n\xbc\xb7m;\xc9\xf7\x12B\x1c\x07$ \xef\xdc\xbe)\x0b\xb97\xb2\xb8\xbe"\xf3\xb9%\xf9\xe2\xf9C\xf9\xf3\xc53\xb2~/\x848[\xf7)_\xccC^\xafw\xea\xef\xb1?\x91\x12\x1e<|\xc2\xf4t\x9c\xe4b\x86`\xa0\x99\x0b\xe7\x87\xd9\xbd\xbb\x1dU\xf5\xe0\xf1x\xb8|\xe57\x84\x10\x07l\xdbNz\x00zzz\xa6\x9eN\xdd\'\x12\xe9f\xff\xfe^\xa2C\'\xd8\xd3\xd9\xc9\x0f\xa6\x89h\xd2y;\x9f\xc2\xb6\x1d\xda\xdaL\x02A\x1f\x7f\x8d\xfc\x81m\xdb\x0b\x00\x1a@,\x16#\xd4\xda\x81\xcf\xdfN\r\x87\x1f\x8f\x1c\xa3\xbf\xef0\x85B\x96\xfc\xda\n\xd9l\x0e\xd3\xdc\x85\x10\x06\xc5b\x81Xl\xbe\x11]\xab\x1fF\xee\x8ep\xfd\xea\x15\xbc-\x1d4i\xad\xc8\x80Bk(\xc2\xbe\xaa\xcd\xc6F\x89b\xa9\xc8\xc4\xe3\xc7<\x7f\xf1\x92r\xb9\xd2\x00\xa8\xf5\xe9\xf7\xfb\xa2\xb3\xb3q\x96WV\t\x87\x9bq6-\x8a\xc5<\x1f\x96K\x8c\x8d\x8d299A2\x99fa!\xcd\xbbw)\xb2\xd9\xb5\xdb\xc0\x84R\'uww\xcaP(DG\xa8\x8d\xbd]]\x18\x86\x86S\xad\xa1*\x9b\xac\xfe\x9f\'\x95\xfe\xc0Bb\tUS\xd05\x95T\xfa\xa3\xf2M\x84\x96\x16\x83\x1b7\xae1:z\x8f\xe9\xd7\xd3XV\x05]\xd7X\\|O\xb5ZE\xd75\x06\x06\xfa\xa8TJ\x14\n\xd6\xb6\x08\xb4\xb7\xb7\xfe~*\xfa\x13CC\xa7q\xecO\\\xbat\x0e_\x8b\x8e\x94.\xc3\xc3\'q]\x87\x81\x81~\xd6\xd7\xd7(\x977\xc8\xe5\n\xb7\x00<\x8dB(\nF\xb3\x97\x03\x07\x0f\x11\xe9\x0cst\xf0$m\xa10\xe1\x8e\x08\xbd\xbd\xfd\x98f\x80`\xd0\x87i\x06P\xd5\x86\xed+`+HS=4\x19\x82C\x07\xbb\xd0\x85\x8a\xdf\xefCUU\x14E\xd9\xd6\xe0\x06@J\xc9\xcc\xcc,\xb5Z\x8d\x9a\xac\xb7\xf6[I)\xb1\xac\nR\xee\x00\xa8V]\x9e=\xfb\x8f\xf1\xf1\x7f\x99\x99\x89\xe1\xbanc\xc9\xb2\xd6\x01\xc8d\x96YZZ\xc5q\x9c\xed\x8fX*U^\xa5\xd3\x99_\x1f=\x9adW\xd0\x8f\xe2\xa9\x90H\xa4\x89\xc7\x13@\x8dx<A&\xb3J,6O\xb9\xfc)\xea\xban\x8a\x9d$\x84\xf8E\x08!\x01\x19\x0c\x06\xa5\xae\xeb;\xfe\xc2\xba>\x03\xe7\xf8#<(H\x05\xfe\x00\x00\x00\x00IEND\xaeB`\x82'
}
